home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / plaf / basic / BasicDesktopIconUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.6 KB  |  112 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Dimension;
  5. import java.awt.Insets;
  6. import java.awt.LayoutManager;
  7. import java.beans.PropertyVetoException;
  8. import javax.swing.JComponent;
  9. import javax.swing.JInternalFrame;
  10. import javax.swing.JLayeredPane;
  11. import javax.swing.LookAndFeel;
  12. import javax.swing.border.Border;
  13. import javax.swing.event.MouseInputListener;
  14. import javax.swing.plaf.ComponentUI;
  15. import javax.swing.plaf.DesktopIconUI;
  16.  
  17. public class BasicDesktopIconUI extends DesktopIconUI {
  18.    protected JInternalFrame.JDesktopIcon desktopIcon;
  19.    protected JInternalFrame frame;
  20.    JComponent iconPane;
  21.    MouseInputListener mouseInputListener;
  22.  
  23.    protected MouseInputListener createMouseInputListener() {
  24.       return new MouseInputHandler(this);
  25.    }
  26.  
  27.    public static ComponentUI createUI(JComponent var0) {
  28.       return new BasicDesktopIconUI();
  29.    }
  30.  
  31.    public void deiconize() {
  32.       try {
  33.          this.frame.setIcon(false);
  34.       } catch (PropertyVetoException var1) {
  35.       }
  36.  
  37.    }
  38.  
  39.    public Insets getInsets(JComponent var1) {
  40.       JInternalFrame var2 = this.desktopIcon.getInternalFrame();
  41.       Border var3 = ((JComponent)var2).getBorder();
  42.       return var3 != null ? var3.getBorderInsets(var2) : new Insets(0, 0, 0, 0);
  43.    }
  44.  
  45.    public Dimension getMaximumSize(JComponent var1) {
  46.       return this.iconPane.getMaximumSize();
  47.    }
  48.  
  49.    public Dimension getMinimumSize(JComponent var1) {
  50.       return this.iconPane.getMinimumSize();
  51.    }
  52.  
  53.    public Dimension getPreferredSize(JComponent var1) {
  54.       JInternalFrame var2 = this.desktopIcon.getInternalFrame();
  55.       Border var3 = ((JComponent)var2).getBorder();
  56.       short var4 = 157;
  57.       int var5 = 18;
  58.       if (var3 != null) {
  59.          var5 += var3.getBorderInsets(var2).bottom + var3.getBorderInsets(var2).top;
  60.       }
  61.  
  62.       return new Dimension(var4, var5);
  63.    }
  64.  
  65.    protected void installComponents() {
  66.       this.frame = this.desktopIcon.getInternalFrame();
  67.       this.iconPane = new BasicInternalFrameTitlePane(this.frame);
  68.       this.desktopIcon.setLayout(new BorderLayout());
  69.       this.desktopIcon.add(this.iconPane, "Center");
  70.    }
  71.  
  72.    protected void installDefaults() {
  73.       LookAndFeel.installBorder(this.desktopIcon, "DesktopIcon.border");
  74.    }
  75.  
  76.    protected void installListeners() {
  77.       this.mouseInputListener = this.createMouseInputListener();
  78.       this.desktopIcon.addMouseMotionListener(this.mouseInputListener);
  79.       this.desktopIcon.addMouseListener(this.mouseInputListener);
  80.    }
  81.  
  82.    public void installUI(JComponent var1) {
  83.       this.desktopIcon = (JInternalFrame.JDesktopIcon)var1;
  84.       this.frame = this.desktopIcon.getInternalFrame();
  85.       this.installDefaults();
  86.       this.installComponents();
  87.       this.installListeners();
  88.       JLayeredPane.putLayer(this.desktopIcon, JLayeredPane.getLayer(this.frame));
  89.    }
  90.  
  91.    protected void uninstallComponents() {
  92.       this.desktopIcon.setLayout((LayoutManager)null);
  93.       this.desktopIcon.remove(this.iconPane);
  94.    }
  95.  
  96.    protected void uninstallDefaults() {
  97.    }
  98.  
  99.    protected void uninstallListeners() {
  100.       this.desktopIcon.removeMouseMotionListener(this.mouseInputListener);
  101.       this.desktopIcon.removeMouseListener(this.mouseInputListener);
  102.    }
  103.  
  104.    public void uninstallUI(JComponent var1) {
  105.       this.uninstallDefaults();
  106.       this.uninstallComponents();
  107.       this.uninstallListeners();
  108.       this.desktopIcon = null;
  109.       this.frame = null;
  110.    }
  111. }
  112.